(define (make-personality)
  (let ((parent (make-object 'personality)))
    (define default-agent 'default)
    (define (default-interact)
     ; (display (ask default-agent 'name))
     ;(display ": ")
     ; (display "Mumbles..")
      (newline))
    (define (set-agent new-agent)
      (set! default-agent new-agent))
    
    (lambda(arg)
      (cond ((eq? arg 'set-agent)(lambda (self arg)(set-agent arg)))
            ((eq? arg 'get-agent)(lambda (self) default-agent))
            ((eq? arg 'interact)(lambda (self)(default-interact)))
            (else (parent arg))))
    ))


